import { StorageEnum } from '@2/app/core/storage/storage.enum';
import { defineStore } from 'pinia';
import { LocaleState } from '@2/app/core/storage/locale.storage';
import { store } from '@/store';
import { LocaleSetting } from '#/config';

/**
 * 用于定义用户存储
 * @return 定义用户存储，（不能为 undefined）
 */
const defineStorage = defineStore({
  id: StorageEnum.APP_LOCALE_NAME,
  state: (): LocaleState => ({
    localInfo: {} as LocaleSetting,
  }),
});

/**
 * 用于需要在设置之外使用，定义用户存储
 * @return 定义用户存储，（不能为 undefined）
 */
export function localeDefineStore() {
  return defineStorage(store);
}
